|
Backpropagation through time (BPTT) is a gradient-based technique for training certain types of recurrent neural networks. It can be used to train Elman networks. The algorithm was independently derived by numerous researchers ==Algorithm== The training data for BPTT should be an ordered sequence of input-output pairs, . An initial value must be specified for . Typically, a vector of all zeros is used for this purpose. BPTT begins by unfolding a recurrent neural network through time as shown in this figure. This recurrent neural network contains two feed-forward neural networks, ''f'' and ''g''. When the network is unfolded through time, the unfolded network contains ''k'' instances of ''f'' and one instance of ''g''. In the example shown, the network has been unfolded to a depth of ''k''=3. Training then proceeds in a manner similar to training a feed-forward neural network with backpropagation, except that each epoch must run through the observations, , in sequential order. Each training pattern consists of . (All of the actions for ''k'' time-steps are needed because the unfolded network contains inputs at each unfolded level.) Typically, backpropagation is applied in an online manner to update the weights as each training pattern is presented. After each pattern is presented, and the weights have been updated, the weights in each instance of f () are averaged together so that they all have the same weights. Also, is calculated as , which provides the information necessary so that the algorithm can move on to the next time-step, ''t+1''. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Backpropagation through time」の詳細全文を読む スポンサード リンク
|